package cn.boundtw2.yccl.Demo01;
/*
    throw关键字
    作用：
        可以使用throw关键字在指定的方法中找出指定的异常
    使用格式：
        throw new xxxExceprion（“异常产生的原因”）;
    注意：
        1. throw关键字必须写在方法的内部
        2. throw关键字后边的new的对象必须是Exception或者Exception的子类对象
        3.throw关键字抛出指定的异常对象，我们就必须处理这样异常对象
          throw关键字后边创建的是RuntimeException或者是 其子类对象，可不处理，默认交给JVM处理
          throw关键字后边创建的是编译异常，我们就必须处理，要么throw，要么try  catch
 */
public class Demo01throw {
    public static void main(String[] args) {
        int[] arr = new int[3];
        int e = getElement(arr,-1);
        System.out.println(e);
    }

    public static int getElement(int[] arr,int index){
        if (arr == null){
            throw new NullPointerException("传递的数组的值为null");
        }
        if (index<0||index>arr.length){
            throw new ArrayIndexOutOfBoundsException("传递的索引超过范围");
        }
        int ele = arr[index];
        return ele;
    }
}


